'use strict'

define(['jquery', 'bootstrap', 'select2','shiftform', 'validate', 'validate.en','uploader', 'plupload', 'qiniu'], function($) {
  
  return {
        
    init: function() {
    	this.initCreate();
        this.initDelete();
    },
    
    initCreate: function(){
        var that = this;
        
        $(document).on("shown.bs.modal","#create", function(e) {
        	
            var $form = $(e.currentTarget).find("form");
            
            that.initUpload();
              
            $form.bt_validate();
          
            $form.shiftform({
              beforeSubmit : function(el) {
                $('form').trigger("validate.ajax.submit");
                return $.bt_validate.result[$.bt_validate.form_id]
              }
            });
        })
             
    },
    
    initDelete: function() {
        $(document).on('shown.bs.modal', '#delete', function(e){

        $(e.currentTarget).find("form").shiftform()
      })
    },
    
    initUpload: function() {
        var imgSrc = $(".upload-cover").find("img").attr("src");
          if(imgSrc == null || imgSrc == undefined) {
            $(".upload-cover").find("img").addClass("hide");
          }
          
          
          $(".upload-cover").hover(function(){
            $(".upload-cover .edit-btn").addClass("in");
          },function(){
            $(".upload-cover .edit-btn").removeClass("in");
          });
          
          $.ajax({
            
            url: window.__CTX__.cloudUptoken,
            // The name of the callback parameter, as specified by the YQL service
            jsonp: "callback",
            // Tell jQuery we're expecting JSONP
            dataType: "jsonp",
            // Work with the response
            success: function( response ) {
              var uploaderCover = Qiniu.uploader({
                runtimes: 'html5,flash,html4',
                browse_button: 'pickCover',
                uptoken: response.token,
                domain: 'http://upload.qiniu.com/',
                max_file_size: '10mb',
                max_retries: 3,
//                chunk_size: '2mb',
                save_key: true,
                auto_start: true,
                init: {
                  'UploadProgress': function(up, file) {
                    $('#messageCover').removeClass("hide");
                    $(".edit-btn").addClass("hide").prop("disabled", true);
                    $('#messageCover').html("正在上传图片，请稍后");
                    $('#submitBtn').attr("disabled", "disabled");
                  },
                  'FileUploaded': function(up, file, info) {
                    var res = $.parseJSON(info);
                    var cover_box = '';
                    $('#coverPreview').attr("src", window.__CTX__.cloudProd + "/" + res.key + "-0.6");
                    $('#coverPreviewList').css("display", "block");
                    $('#cover').val(res.key);
                    $('#messageCover').html("加载图片完成");
                    setTimeout(function() {
                      $('#messageCover').addClass("hide");
                      $(".edit-btn").addClass("fade").removeClass("hide").prop("disabled", false).html("<span class='glyphicon glyphicon-repeat' aria-hidden='true'></span>&nbsp;&nbsp;重新上传");
                    }, 2000);
                    $('#submitBtn').removeAttr('disabled');
                  },
                  'Error': function(up, err, errTip) {
                    $('#messageCover').html("图片上传异常，请稍后重试");
                  }
                }
              });
            }
          });
      },
      
      initImage: function() {
    	  $(document).on("mouseover", ".action-table td img" , function(e) {
    		  e.preventDefault();
    		  $(".action-gif-layout").show();
    		  var gifSrc = $(this).attr("src")
    		  $(".action-gif img").attr("src",gifSrc.replace(/\.(jpg|jpeg)$/, ".gif"))
    	  });
    	  $(document).on("mouseout", ".action-table td img" , function(e) {
    		  e.preventDefault();
    		  $(".action-gif-layout").hide();
    	  });
    	 
      }
    
   }
})
